import type { LanguageIcon } from '../models/icons/languages/languageIdentifier';

/**
 * Defines icons for language ids
 */
export const languageIcons: LanguageIcon[] = [
  { name: 'git', ids: ['git', 'git-commit', 'git-rebase', 'ignore'] },
  {
    name: 'github-actions-workflow',
    ids: ['github-actions-workflow'],
  },
  {
    name: 'yaml',
    ids: ['yaml', 'spring-boot-properties-yaml', 'ansible', 'ansible-jinja'],
  },
  { name: 'xml', ids: ['xml', 'xquery', 'xsl'] },
  { name: 'matlab', ids: ['matlab'] },
  {
    name: 'settings',
    ids: ['makefile', 'ini', 'properties', 'spring-boot-properties'],
  },
  { name: 'toml', light: true, ids: ['toml'] },
  { name: 'diff', ids: ['diff'] },
  { name: 'json', ids: ['json', 'jsonl', 'jsonc', 'json5'] },
  { name: 'blink', ids: ['blink'] },
  { name: 'java', ids: ['java'] },
  { name: 'razor', ids: ['razor', 'aspnetcorerazor'] },
  { name: 'python', ids: ['python'] },
  { name: 'mojo', ids: ['mojo'] },
  { name: 'javascript', ids: ['javascript'] },
  { name: 'typescript', ids: ['typescript', 'ets'] },
  { name: 'scala', ids: ['scala'] },
  { name: 'handlebars', ids: ['handlebars'] },
  { name: 'perl', ids: ['perl', 'perl6'] },
  { name: 'haxe', ids: ['haxe', 'hxml'] },
  { name: 'puppet', ids: ['puppet'] },
  { name: 'elixir', ids: ['elixir'] },
  { name: 'livescript', ids: ['livescript'] },
  { name: 'erlang', ids: ['erlang'] },
  { name: 'twig', ids: ['twig'] },
  { name: 'julia', ids: ['julia'] },
  { name: 'elm', ids: ['elm'] },
  { name: 'purescript', ids: ['purescript'] },
  { name: 'stylus', ids: ['stylus'] },
  { name: 'nunjucks', ids: ['nunjucks'] },
  { name: 'pug', ids: ['pug'] },
  { name: 'robot', ids: ['robotframework'] },
  { name: 'sass', ids: ['sass', 'scss'] },
  { name: 'less', ids: ['less'] },
  { name: 'css', ids: ['css'] },
  { name: 'visualstudio', ids: ['testOutput', 'vb'] },
  { name: 'angular', ids: ['ng-template'] },
  { name: 'graphql', ids: ['graphql'] },
  { name: 'solidity', ids: ['solidity'] },
  { name: 'autoit', ids: ['autoit'] },
  { name: 'haml', ids: ['haml'] },
  { name: 'yang', ids: ['yang'] },
  { name: 'terraform', ids: ['terraform'] },
  { name: 'opentofu', ids: ['opentofu'] },
  { name: 'applescript', ids: ['applescript'] },
  { name: 'cake', ids: ['cake'] },
  { name: 'cucumber', ids: ['cucumber'] },
  { name: 'nim', ids: ['nim', 'nimble'] },
  { name: 'apiblueprint', ids: ['apiblueprint'] },
  { name: 'riot', ids: ['riot'] },
  { name: 'postcss', ids: ['postcss'] },
  { name: 'coldfusion', ids: ['lang-cfml'] },
  { name: 'haskell', ids: ['haskell'] },
  { name: 'dhall', ids: ['dhall'] },
  { name: 'cabal', ids: ['cabal'] },
  { name: 'nix', ids: ['nix'] },
  { name: 'ruby', ids: ['ruby'] },
  { name: 'slim', ids: ['slim'] },
  { name: 'php', ids: ['php'] },
  { name: 'php_elephant', ids: [] },
  { name: 'php_elephant_pink', ids: [] },
  { name: 'hack', ids: ['hack'] },
  { name: 'react', ids: ['javascriptreact'] },
  { name: 'mjml', ids: ['mjml'] },
  { name: 'processing', ids: ['processing'] },
  { name: 'hcl', ids: ['hcl'] },
  { name: 'go', ids: ['go'] },
  { name: 'go_gopher', ids: [] },
  { name: 'nodejs_alt', ids: [] },
  { name: 'django', ids: ['django-html', 'django-txt'] },
  { name: 'html', ids: ['html'] },
  { name: 'godot', ids: ['gdscript'] },
  { name: 'godot-assets', ids: ['gdresource', 'gdshader'] },
  { name: 'vim', ids: ['viml'] },
  { name: 'silverstripe', ids: [] },
  { name: 'prolog', ids: ['prolog'] },
  { name: 'pawn', ids: ['pawn'] },
  { name: 'reason', ids: ['reason', 'reason_lisp'] },
  { name: 'sml', ids: ['sml'] },
  { name: 'tex', ids: ['tex'] },
  {
    name: 'latex',
    ids: ['latex', 'latex-expl3'],
    clone: { base: 'tex', color: 'teal-A700' },
  },
  {
    name: 'latex-class',
    ids: ['latex-class'],
    clone: { base: 'tex', color: 'purple-A200' },
  },
  {
    name: 'latex-package',
    ids: ['latex-package'],
    clone: { base: 'tex', color: 'deep-purple-A100' },
  },
  { name: 'context', ids: ['context'] },
  {
    name: 'doctex',
    ids: ['doctex'],
    clone: { base: 'tex', color: 'yellow-900' },
  },
  { name: 'doctex-installer', ids: ['doctex-installer'] },
  { name: 'bibliography', ids: ['bibtex'] },
  { name: 'bibtex-style', ids: ['bibtex-style'] },
  { name: 'salesforce', ids: ['apex'] },
  { name: 'sas', ids: ['sas'] },
  { name: 'docker', ids: ['dockerfile', 'dockercompose', 'dockerbake'] },
  { name: 'table', ids: ['csv', 'tsv', 'psv'] },
  { name: 'csharp', ids: ['csharp'] },
  { name: 'console', ids: ['bat', 'awk', 'shellscript'] },
  { name: 'c', ids: ['c'] },
  { name: 'cpp', ids: ['cpp'] },
  { name: 'objective-c', ids: ['objective-c'] },
  { name: 'objective-cpp', ids: ['objective-cpp'] },
  { name: 'c3', ids: ['c3'] },
  { name: 'coffee', ids: ['coffeescript'] },
  { name: 'fsharp', ids: ['fsharp'] },
  { name: 'editorconfig', ids: ['editorconfig'] },
  { name: 'clojure', ids: ['clojure'] },
  { name: 'groovy', ids: ['groovy'] },
  { name: 'markdoc', ids: ['markdoc'] },
  { name: 'markdown', ids: ['markdown'] },
  { name: 'jinja', ids: ['jinja'] },
  { name: 'proto', ids: ['proto'] },
  { name: 'python-misc', ids: ['pip-requirements'] },
  { name: 'vue', ids: ['vue', 'vue-postcss', 'vue-html'] },
  { name: 'lua', ids: ['lua'] },
  { name: 'log', ids: ['log'] },
  { name: 'jupyter', ids: ['jupyter'] },
  { name: 'document', ids: ['plaintext'] },
  { name: 'pdf', ids: ['pdf'] },
  { name: 'powershell', ids: ['powershell'] },
  { name: 'pug', ids: ['jade'] },
  { name: 'r', ids: ['r', 'rsweave'] },
  { name: 'rust', ids: ['rust'] },
  { name: 'database', ids: ['sql'] },
  { name: 'kusto', ids: ['kql'] },
  { name: 'lock', ids: ['ssh_config'] },
  { name: 'svg', ids: ['svg'] },
  { name: 'swift', ids: ['swift'] },
  { name: 'react_ts', ids: ['typescriptreact'] },
  { name: 'search', ids: ['search-result'] },
  { name: 'minecraft', ids: ['mcfunction'] },
  { name: 'rescript', ids: ['rescript'] },
  { name: 'otne', ids: ['otne'] },
  {
    name: 'twine',
    ids: ['twee3', 'twee3-harlowe-3', 'twee3-chapbook-1', 'twee3-sugarcube-2'],
  },
  { name: 'grain', ids: ['grain'] },
  { name: 'lolcode', ids: ['lolcode'] },
  { name: 'idris', ids: ['idris'] },
  { name: 'chess', ids: ['pgn'] },
  { name: 'gemini', ids: ['gemini', 'text-gemini'] },
  { name: 'vlang', ids: ['v'] },
  { name: 'wolframlanguage', ids: ['wolfram'] },
  { name: 'shader', ids: ['shaderlab', 'hlsl', 'glsl', 'wgsl'] },
  { name: 'tree', ids: ['tree'] },
  { name: 'svelte', ids: ['svelte'] },
  { name: 'dart', ids: ['dart'] },
  { name: 'cadence', ids: ['cadence'] },
  { name: 'stylable', ids: ['stylable'] },
  { name: 'hjson', ids: ['hjson'] },
  { name: 'huff', ids: ['huff'] },
  {
    name: 'cds',
    ids: ['cds', 'capnb', 'cds-markdown-injection'],
  },
  {
    name: 'concourse',
    ids: ['concourse-pipeline-yaml', 'concourse-task-yaml'],
  },
  {
    name: 'systemd',
    light: true,
    ids: ['systemd-conf', 'systemd-unit-file'],
  },
  { name: 'slint', ids: ['slint'] },
  { name: 'luau', ids: ['luau'] },
  { name: 'hosts', ids: ['hosts'] },
  { name: 'beancount', ids: ['beancount'] },
  {
    name: 'ahk2',
    ids: ['ahk2'],
    clone: {
      base: 'autohotkey',
      color: 'lime-700',
    },
  },
  { name: 'gnuplot', ids: ['gnuplot'] },
  { name: 'helm', ids: ['helm'] },
  { name: 'nginx', ids: ['nginx'] },
  { name: 'cue', ids: ['cue'] },
  { name: 'lean', ids: ['lean'] },
];
